#ifndef GENERALMENU_H
#define GENERALMENU_H

#include <string>
using std::string;

//An abstract class which has defined the basic feature of a menu
class GeneralMenu
{
public:
	//Constructors

	//Constructor which initializes the information bar message
	GeneralMenu(string info);

	//Virtual Destructor

	//Implemented by subclasses when necessary
	virtual ~GeneralMenu() {};

protected:
	//Member Functions which can only be used by subclasses

	//Display the information bar message
	void displayInfoBar() const;

	//Virtual Functions

	//Implemented by subclasses which display the content part of the menu
	virtual void displayContent() {};

private:
	string infoBar;
};

#endif